<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
    <script type="text/javascript" src="../js/dayjs.min.js"></script>
</head>

<body>
    <!-- 
        
     -->
    <!-- 准备好一个容器 -->
    <div id="root">
        <h2>显示格式化后的时间</h2>
        <!-- 计算属性实现 -->
        <h3>现在是:{{fmtTime}}</h3>
        <!-- methods实现 -->
        <h3>现在是:{{getFmtTime()}}</h3>
        <!-- 过滤器实现 -->
        <h3>现在是:{{time | timeFormate}}</h3>
        <!-- 过滤器实现(传参) -->
        <h3>现在是:{{time | timeFormate('YYYY-MM-DD')}}</h3>
        <!-- 过滤器 连续使用 -->
        <h3>现在是:{{time | timeFormate('YYYY-MM-DD') | mySlice}}</h3>
        <!-- 过滤器 属性中的使用 -->
        <h3 :x="msg | mySlice">尚硅谷</h3>
    </div>
    <div id="root2">
        <h2>{{msg | mySlice}}</h2>
    </div>
</body>
<script type="text/javascript">
    Vue.config.productionTip = false; //阻止Vue启动时生成生产提示
    //全局过滤器
    Vue.filter('mySlice', function (value) {
        return value.slice(0, 5);
    });
    const vm = new Vue({
        el: '#root',
        data: {
            // time:Date.now(),
            time: 1653275466663,  //时间戳
            msg:'你好,尚硅谷'
        },
        computed: {
            fmtTime() {
                return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss');
            }
        },
        methods: {
            getFmtTime() {
                return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss');
            }
        },
        //局部过滤器
        filters: {
            timeFormate(value, str = 'YYYY-MM-DD HH:mm:ss') {
                // console.log(value);
                return dayjs(value).format(str);
            },
            mySlice(value) {
                return value.slice(0, 4);
            }
        }
    });
    const vm2 = new Vue({
        el: '#root2',
        data: {
            msg: 'hello,atguigu!'
        }
    })
</script>

</html>